Method for finding optimal threshold for image segmentation

ABSTRACT

A method for finding the optimal threshold for image segmentation in image recognition is disclosed. The method includes the steps of: a) gaining histogram distribution of an image; b) computing entropy values corresponding to gray levels in the histogram; and c) gaining a minimum entropy value corresponding to the gray level as the threshold value by using a fixed point iteration FPI based on the computed entropy values.

FIELD OF THE INVENTION

[0001] The present invention relates to a method for finding a threshold for image segmentation; and, more particularly, to a method for finding the optimal threshold for image segmentation in image recognition.

DESCRIPTION OF RELATED ARTS

[0002] Generally, a process of finding the optimal threshold for the image segmentation is fundamental and important process in the imagerecognition. The process of recognition is necessary to distinguish an object from a background of an image.

[0003] The optimal threshold can be found easily based on a bimodal type histogram distribution graph and in above case, it is located at a lowest point of histogram distribution curve. There are many methods introduced for finding the optimal threshold.

[0004] A first method is stochastic method to find the optimal threshold. That is, a histogram distribution of an image is assumed as the bimodal type and a gray level having the minimum sum of variance is select as the optimal threshold. A second method finds the optimal threshold based on the Shannon entropy. A gray level having the minimum entropy is selected as the optimal threshold. There is also another method using fuzziness during computing entropy of image. This method selects a gray level having minimum fuzziness as the optimal threshold.

[0005]FIG. 1 is a flowchart explaining a conventional method for finding the optimal threshold. Referring to FIG. 1, at step S101, a histogram distribution of an image is computed. Entropies of all gray levels distributed in the histogram are computed at step S102. All computed entropies are compared one another and a gray level having the lowest entropy is selected at step 103. However, a process time of the conventional method is increased in proportion to a resolution of image and the number of entropies to be computed. Furthermore, in case of an image having multi thresholds, a condition of segmentation completion may not be computed by the conventional method.

SUMMARY OF THE INVENTION

[0006] It is, therefore, an object of the present invention to provide a method for effectively finding an optimal threshold for image segmentation of an image having multi thresholds by analyzing entropy characteristic of image based on a fixed point iteration and fuzzy entropy.

[0007] In accordance with an aspect of the present invention, there is provided a method for finding a threshold value in image segmentation, the method including the steps of: a) gaining histogram distribution of an image; b) computing entropy values corresponding to gray levels in the histogram; and c) gaining a minimum entropy value corresponding to the gray level as the threshold value by using a fixed point iteration FPI based on the computed entropy values.

BRIEF DESCRIPTION OF THE DRAWING(S)

[0008] The above and other objects and features of the present invention will become apparent from the following description of the preferred embodiments given in conjunction with the accompanying drawings, in which:

[0009]FIG. 1 is a flowchart explaining a conventional method for finding the optimal threshold;

[0010]FIG. 2 is a flowchart for explaining a method for finding the optimal threshold for image segmentation in accordance with a preferred embodiment of the present invention;

[0011]FIG. 3 is a graph showing a fuzziness according to a constant k in accordance with a preferred embodiment of the present invention;

[0012]FIG. 4 is a graph showing gray level distribution curve for obtaining a gray level of minimum entropy in accordance with a preferred embodiment of the present invention;

[0013]FIG. 5 is a flowchart for explaining the step S203 in FIG. 2 for gaining a gray level corresponding to the minimum entropy by using FPI in accordance with a preferred embodiment of the present invention; and

[0014]FIG. 6 is a flowchart for explaining step 501 of FIG. 5 in detail.

DETAILED DESCRIPTION OF THE INVENTION

[0015] Other objects and aspects of the invention will become apparent from the following description of the embodiments with reference to the accompanying drawings, which is set forth hereinafter.

[0016]FIG. 2 is a flowchart for explaining a method for finding the optimal threshold for image segmentation in accordance with a preferred embodiment of the present invention.

[0017] Referring to FIG. 2, a histogram distribution of an image is obtained at step 201. Entropies of gray levels are computed at step S202. After computing entropy value at step S202, a gray level of minimum entropy is gained by using the fixed point iteration (FPI) based on the computed entropy value at step S203.

[0018] In the step S202, the entropy of the gray level is computed by measuring fuzzy entropy of corresponding gray level. Hereinafter, the computation of fuzzy entropy is explained in detail.

[0019] If there is an M×N size of image I having L gray levels, a gray level of pixel (x,y) is defined as I(x,y) and μ₁(I_(i,j)) represents fuzziness of gray scale of pixel (x,y). Therefore, the image I can be expressed as following equation.

I={(I _(ij),μ₁(I _(ij)))}  Eq. 1

[0020] , wherein 0≦μ₁(I_(ij))≦1;i=0,1, . . . ,M−1;j=0,1, . . . ,N−1

[0021] If a gray level g has a frequency of generation h(g) in entire image I then an average gray level μ₀ of a background can be expressed as following equation 2 and an average gray level μ₁ of an object can be expressed as following equation 3. $\begin{matrix} {{\mu_{0} = {\sum\limits_{g = 0}^{T}\quad {{{gh}(g)}/{\sum\limits_{g = 0}^{T}\quad {h(g)}}}}};\quad {{{if}\quad {i\left( {x,y} \right)}} \leq T}} & {{Eq}.\quad 2} \\ {{\mu_{1} = {\sum\limits_{g = {T + 1}}^{T}\quad {{{gh}(g)}/{\sum\limits_{{T + 1} = 0}^{L - 1}\quad {h(g)}}}}};\quad {{{if}\quad {i\left( {x,y} \right)}} \leq T}} & {{Eq}.\quad 3} \end{matrix}$

[0022] The average gray levels μ₁ and μ_(o) can be considered as target values of the threshold value T. That is, the fuzziness can be expressed as a difference between gray level of a pixel (x,y) and a gray level of a region including the corresponding gray level. Therefore, the difference of gray levels is smaller, as larger as the fuzziness is. Gray levels of all pixels in an image for a threshold T must have certain fuzziness either to an object or background. The fuzziness of a pixel can be expressed as following equation. $\begin{matrix} {{\mu_{1}\left( I_{ij} \right)} = \left\{ \begin{matrix} {{\frac{1}{1 + {{{{i\left( {x,y} \right)} - \mu_{0}}}/k}}{if}\quad {i\left( {x,y} \right)}} \leq T} \\ {{\frac{1}{1 + {{{{i\left( {x,y} \right)} - \mu_{1}}}/k}}{if}\quad {i\left( {x,y} \right)}} > T} \end{matrix} \right.} & {{Eq}.\quad 4} \end{matrix}$

[0023] In a meantime, when a gray level of a certain pixel is included in a specific region, the fuzziness must to be more than 0.5 to a corresponding set. Therefore, a constant K is defined as G_(max)−G_(min) and the fuzziness is selected between 0.5 to 1. FIG. 3 shows fuzziness according to the constant K.

[0024] Also, fuzziness can be generally considered as a fuzziness of fuzzy set and there are various entropy-equations disclosed for computing fuzzy entropy. If the entropy equation of one independent variable is expanded to 2 dimensional image region then entropies of the image I can be expressed as following table 1. TABLE 1 Entropy type Entropy Measures Shannon $\begin{matrix} {{{E(j)} = {\frac{1}{{MNin}(2)}{\sum\limits_{x}{\sum\limits_{y}{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)}}}}},} \\ \begin{matrix} {{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)} = {{{- {\mu_{1}\left( {i\left( {x,y} \right)} \right)}} \cdot {\ln \left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)}} -}} \\ {{\left\lbrack {1 - {\mu_{1}\left( {i\left( {x,y} \right)} \right)}} \right\rbrack \cdot \left\lbrack {1 - {\ln \left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)}} \right\rbrack}} \end{matrix} \end{matrix}\quad$

Yager ${\begin{matrix} {{{E(J)} = {1 - {\frac{1}{({MN})^{1/\alpha}}\left\{ {\sum\limits_{x}{\sum\limits_{y}{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)}^{\alpha}}} \right\}^{1/\alpha}}}},} \\ {{{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)} = {{\mu_{1}\left( {i\left( {x,y} \right)} \right)} - {\overset{\_}{\mu_{1}}\left( {i\left( {x,y} \right)} \right)}}},} \\ {{where}\quad \alpha \quad {is}\quad a\quad {fuzzifier}\quad {factor}} \end{matrix}\quad}\quad$

Pal & Pal $\begin{matrix} {{{E(J)} = {1 - {\frac{1}{{MN}\quad {\ln (2)}}{\sum\limits_{x}{\sum\limits_{y}{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)}}}}}},} \\ \begin{matrix} {{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)} = {{{\mu_{1}\left( {i\left( {x,y} \right)} \right)} \cdot {\exp \left\lbrack {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right\rbrack}} +}} \\ {\left\{ {\left\lbrack {1 + {\mu_{1}\left( {i\left( {x,y} \right)} \right)}} \right\rbrack \cdot {\exp \left\lbrack {1 + {\mu_{1}\left( {i\left( {x,y} \right)} \right)}} \right\rbrack}} \right\}} \end{matrix} \end{matrix}\quad$

Bhandari ${\begin{matrix} {{{E(J)} = {\frac{1}{{MN}\quad {\ln (2)}\left( {1 - \alpha} \right)}{\sum\limits_{x}{\sum\limits_{y}{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)}}}}},} \\ {{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)} = {\log\left\lbrack {{\mu_{1}\left( {i\left( {x,y} \right)} \right)}^{\alpha} + \left( {1 - {\mu_{1}\left( {i\left( {x,y} \right)} \right)}^{\alpha}} \right\rbrack} \right.}} \end{matrix}\quad}\quad$

Standard Fuzzy Complement ${{\begin{matrix} {{{E(J)} = {\frac{1}{{MN}\quad}{\sum\limits_{x}{\sum\limits_{y}{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)}}}}},} \\ {{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)} = {1 - \left\lbrack {{2{\mu_{1}\left( {i\left( {x,y} \right)} \right)}} - 1} \right\rbrack}} \end{matrix}\quad}\quad}\quad$

Kaufmann ${{{\begin{matrix} {{{E(J)} = {\frac{2}{{MN}\quad}{\sum\limits_{x}{\sum\limits_{y}{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)}}}}},} \\ {{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)} = {\min \left\{ {{\mu_{1}\left( {i\left( {x,y} \right)} \right)},{1 - {\mu_{1}\left( {i\left( {x,y} \right)} \right)}}} \right\}}} \end{matrix}\quad}\quad}\quad}\quad$

Quadratic Kaufmann ${{{{\begin{matrix} {{{E(J)} = {\frac{2}{\sqrt{MN}\quad}\left\{ {\sum\limits_{x}{\sum\limits_{y}{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)}}} \right\}^{1/1}}},} \\ {{S\left( {\mu_{1}\left( {i\left( {x,y} \right)} \right)} \right)} = {\min \left\{ {{\mu_{1}\left( {i\left( {x,y} \right)} \right)},{1 - {\mu_{1}\left( {i\left( {x,y} \right)} \right)}}} \right\}^{2}}} \end{matrix}\quad}\quad}\quad}\quad}\quad$

[0025] Specially, the absolute value of entropy is increased in a range of [0, 0.5] and the value of entropy is decreased in a region of [0.5, 1]. In a meantime, if fuzziness of all gray level included in the image are about 0.5 then entropy E(I) has 1 as the maximum value.

[0026] After obtaining entropy values at step S202, a gray level of minimum entropy is obtained by using a fixed point iteration (FPI) method at step S203.

[0027]FIG. 4 is a graph showing gray level distribution curve for obtaining a gray level of minimum entropy in accordance with a preferred embodiment of the present invention.

[0028] Referring to FIG. 4, obtaining a gray level of minimum entropy is explained hereinafter.

[0029]FIG. 5 is a flowchart for explaining the step S203 in FIG. 2 for gaining a gray level corresponding to the minimum entropy by using FPI in accordance with a preferred embodiment of the present invention.

[0030] At step 501, possible optimal threshold values P_(i) for obtaining a gray level of minimum entropy are obtained based on the graph of FIG. 4.

[0031] After obtaining the P_(i), gray levels are sequentially obtained from left to right P_(i).

[0032] At step 503, an optimal threshold of gray level having minimum entropy is obtained by comparing entropy values of gray levels of P_(i).

[0033]FIG. 6 is a flowchart for explaining step 501 of FIG. 5 in detail.

[0034] Referring to FIG. 6 and, at step 601, initial values of g_(min), g_(max), G_(min), G_(max), Pi and g_(cal) are set as follows. g_(min) is set as possible minimum gray level by selecting a lowest value of a gray level distribution curve on FIG. 4, and g_(max) is set as possible maximum gray level by selecting a highest value of a gray level distribution curve on FIG. 4. And G_(max) is set as equal to g_(max) and G_(min) is set as equal to g_(min). Also, P_(i) is set to mid point of g_(max) and g_(min) as (g_(max)+g_(min))/2.

[0035] Furthermore, g_(cal) is set as equal to p_(i). After initializing initial values, at step 602, entropy values E(g_(min)), E(g_(max)) and E(g_(cal)) of g_(min), g_(max) and g_(cal) are computed.

[0036] After computing entropy values E(g_(min)), E(g_(max)) and E(g_(cal)), E(g_(min)) and E(g_(max)) are compared at step 603.

[0037] If E(g_(min)) is higher than E(g_(cal)), the value of g_(temp) is changed to the value of g_(min) and the value of g_(fix) is set to G_(max) at step 604. By changing values and not influencing to value of G_(max) and G_(min), new temporal values g_(temp) and g_(fix) are set as follows at step 604.

[0038] If E(g_(min)) is equal or less than E(g_(cal)), the value of g_(temp) is changed to the value of g_(max) and the value of g_(fix) is set to G_(min) at step 605. By changing values and not influencing to value of G_(max) and G_(min), new temporal values g_(temp) and g_(fix) are set as follows at step 605.

[0039] After changing value of g_(temp) or g_(fix) according to the comparison result and P_(i) is set to g_(mid), g_(mid) is computed by (g_(fix)+g_(temp))/2 and E_(mid) is computed by (E(g_(temp))+E(g_(fix)))/2 at step 606.

[0040] At step 607, P_(i+1) is computed by using a linear equation f with (g_(temp),0)and (g_(mid),E(g_(mid))) and E_(i+1) is set to E(p_(i+1)). The linear equation f is f(g)=ag+b.

[0041] After computing P_(i+1), it is compared with any two of previous p_(i) at step 608.

[0042] At step 609, if there are identical two p_(i)s, it is ended, and at step 610, if there are not identical two p_(i)s, g_(temp) is set to P_(i+1) and g_(cal) is newly determined by (g_(temp)+g_(fix))/2, E(g_(min)) is set to E_(i+1) and g_(temp) is set to P_(i+1). After setting new value for g_(cal), steps 602 and 608 are reputedly performed. For helping to understand steps for obtaining optimal threshold of FIG. 6, pseudo code is shown in below table. TABLE 2 Set flag=True; Set g_(min)= possible minimum occurring gray level; Set g_(max)= possible maximum occurring gray level; Set G_(min)=g_(min); Set G_(max)=g_(max); Set p_(i)=int[(g_(max)+g_(min))/2]; set g_(cal)=p_(i); Compute E(g_(min)); Compute E(g_(max)); Compute E(g_(cal)); While (flage == True) if (E(g_(cal))< E(g_(min))) then set g_(temp) = g_(min); set g_(fix) = G_(max); Else set g_(temp) = g_(max); set g_(fix)= G_(min); Set g_(mid) = (g_(fix) + g_(temp))/2; Set p_(i)=g_(mid); Set E_(mid) = (E(g_(temp))+E(g_(fix)))/2; Generate linear equation f using (g_(temp),0) and (g_(mid),E_(mid)); Set p_(i+1) = f⁻¹(E(p_(i)));Set E_(i+1) = E(p_(i+1)); If (p_(i+1)=any two previous p_(i)) then set flag = false; Else set E(g_(min)) = E_(i+1); set g_(temp) = P_(i+1), g_(cal) =(g_(temp) + g_(fix))/2; END IF End While.

[0043] As mentioned above, the present invention can quickly find the optimal threshold value by analyzing entropy characteristic of image based on a segmentation completion condition and a fixed point iteration.

[0044] While the present invention has been described with respect to certain preferred embodiments, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the scope of the invention as defined in the following claims. 

What is claimed is:
 1. A method for finding a threshold value in image segmentation, the method comprising the steps of: a) gaining histogram distribution of an image; b) computing entropy values corresponding to gray levels in the histogram; and c) gaining a minimum entropy value corresponding to the gray level as the threshold value by using a fixed point iteration FPI based on the computed entropy values.
 2. The method as recited in claim 1, wherein the step c) includes the steps of: c-1) obtaining a plurality of possible optimal thresholds; c-2) obtaining entropy values of gray levels corresponding to the obtained possible optimal thresholds; and c-3) obtaining the threshold value by comparing entropy values and selecting minimum entropy value.
 3. The method as recited in claim 2, wherein each of the possible optimal thresholds is obtained by obtaining a value of possible maximum gray level having maximum entropy value, a value of possible minimum gray level having minimum entropy value and obtaining possible optimal threshold by adding two values of the possible maximum gray level and the possible minimum gray level and dividing the sum of addition by half.
 4. The method as recited in claim 3, wherein the possible optimal thresholds are obtained by changing one of the value of the possible maximum gray level and the value of the possible minimum gray level according to comparison of entropy values of the possible maximum gray level, the possible minimum gray level and obtained optimal threshold and by newly obtaining a possible optimal threshold based on the changed values of the possible maximum gray level and the value of the possible minimum gray level.
 5. The method as recited in claim
 2. wherein the step c-1) includes the steps of: c-i) obtaining an initial possible optimal threshold, an initial possible maximum gray level having maximum entropy value and an initial possible minimum gray level having minimum entropy value by setting G_(min) to have the initial possible minimum gray level, setting G_(max) to have the initial possible maximum gray level, setting g_(min) and g_(max) to have identical values G_(min) and G_(max), respectively for not influencing change of value of G_(min) and G_(max), setting P_(i) to have the initial possible optima threshold by computing equation P_(i)=((g_(min)+g_(max))/2) and setting g_(cal) to have the identical value of P_(i); c-ii) obtaining entropy values E(g_(min)), E(g_(max)) and E(g_(cal)) of g_(min), g_(max), and g_(cal); c-iii) comparing E(g_(min)) and E(g_(cal)); c-iv) if E(g_(min)) is higher than E(g_(cal)) as a result of comparison of step c-iii), changing the value of g_(min) to have the value of g_(cal) and not changing the value of g_(max) by setting a value of g_(temp) to have the value of g_(min) and setting a value of g_(fix) to have the value of G_(max); c-v) if E(g_(min)) is equal or less than E(g_(cal)) as a result of comparison of step c-iii), changing the value of g_(max) to have the value of g_(cal) and not changing the value of g_(min) by setting a value of g_(temp) to have the value of g_(max) and setting a value of g_(fix) to have the value of G_(min); c-vi) obtaining new possible optimal threshold p_(i) based on changed value of g_(min) and g_(max) by an equation as: P_(i)=(g_(fix)+g_(temp))/2; c-vii) obtaining p_(i+1) by using a linear equation f with (g_(temp), 0), wherein the f is f(g)=ag+b, a=g_(temp) and b is 0 and by equation as p_(i+1)=f⁻¹(E(p_(i))); c-viii) comparing p_(i+1) with previously obtained p_(i)s; c-ix) if there are not identical two P_(i)s, determining next possible optimal threshold by setting g_(temp) to have the value of p_(i+1) and setting g_(cal) to have a value of (g_(temp+g) _(fix))/2, and reputedly performing steps c-ii) to c-viii); and c-x) if there are identical any two P_(i)s, selects the threshold value by comparing entropy values of corresponding P_(i)s and selecting Pi having minimum entropy value as the threshold value. 